<template>
  <div class="brother">
    我是brother.vue===妹妹的消息:{{ sismsg }}
    <button @click="sendonsister">发送消息到sister</button> &nbsp;
    <button @click="sendproto">使用this发送消息到sister</button>
  </div>
</template>
<script>
import { vm } from '@/ultr/Bus.js'
export default {

  name: '',
  data () {
    return {
      sismsg: ''
    }
  },
  created () {
  },
  computed: {

  },
  methods: {
    /*
    目的:实现兄弟组件之间传递数据
    实现方式:引用一个共同的Vue实例对象
    1.发送消息使用vm.$emit('自定义函数','传递的数据')
    2.接收消息vm.on('自定义函数,注意名字一定要相同',事件处理函数)
    3.一定是共同的爹才能操作兄弟关系组件之间的通讯
    */
    //方式一
    sendonsister () {
      vm.$emit('handlersister', '我是哥哥,这是我发的消息')
    },

    //方式二,使用Vue的原型对象挂载的实例对象上的.$emit方法
    sendproto () {
      console.log(this.$Bus);
      this.$Bus.$emit('handlersister1', '我是哥哥,这是proto挂载的Vue实例')
    }
  },
  mounted () {
    vm.$on('handlerbrother', (Smsg) => {
      console.log(Smsg);
      this.sismsg = Smsg
    })

  }
}
</script>
<style lang='less'  scoped>
</style>
